efi: Add EFI_SECURE_BOOT bit
authorJosh Boyer <jwboyer@fedoraproject.org>
Wed, 5 Apr 2017 16:40:29 +0000 (17:40 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 16 Nov 2017 21:04:10 +0000 (21:04 +0000)
UEFI machines can be booted in Secure Boot mode.  Add a EFI_SECURE_BOOT bit
that can be passed to efi_enabled() to find out whether secure boot is
enabled.

This will be used by the SysRq+x handler, registered by the x86 arch, to find
out whether secure boot mode is enabled so that it can be disabled.

Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Gbp-Pq: Topic features/all/lockdown
Gbp-Pq: Name 0038-efi-Add-EFI_SECURE_BOOT-bit.patch

arch/x86/kernel/setup.c
include/linux/efi.h

index 3486d04988000b05344a590ce9ab8c86e96d0ec2..319995f5834562fcb3db766f473f981a4e88a8b9 100644 (file)
@@ -1190,6 +1190,7 @@ void __init setup_arch(char **cmdline_p)
                        pr_info("Secure boot disabled\n");
                        break;
                case efi_secureboot_mode_enabled:
+                       set_bit(EFI_SECURE_BOOT, &efi.flags);
                        pr_info("Secure boot enabled\n");
                        break;
                default:
index 8269bcb8ccf7961bd01f52e39fc4d34d370f25d3..7952dd3ffa7378ab60c016c184ddd16e1062964a 100644 (file)
@@ -1081,6 +1081,7 @@ extern int __init efi_setup_pcdp_console(char *);
 #define EFI_DBG                        8       /* Print additional debug info at runtime */
 #define EFI_NX_PE_DATA         9       /* Can runtime data regions be mapped non-executable? */
 #define EFI_MEM_ATTR           10      /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
+#define EFI_SECURE_BOOT                11      /* Are we in Secure Boot mode? */
 
 #ifdef CONFIG_EFI
 /*